﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace CLUBsInterpreter.ObjectTypes
{
	/**
	 * <summary>
	 * Describes an array object in the CLUBs environment.
	 * WARNING: This functionality is NOT IMPLEMENTED.
	 * </summary>
	 **/
	class CLUBsArray<T> : CLUBsObject
	{
		private T[] m_array;

		/**
		 * <see cref="CLUBsObject.CopyValueFromObject"/>
		 **/
		public override void CopyValueFromObject(CLUBsObject obj)
		{
			throw new NotImplementedException();
		}

		public CLUBsArray()
		{
			// Set the object identifier type
			ObjectIdentifierType = AST.IdentifierType.Array;
		}

		public T this[CLUBsInteger i]
		{
			get
			{
				return m_array[i];
			}
			set
			{
				m_array[i] = value;
			}
		}
	}
}
